
############################# Server Basics #############################
# The id of the broker. This must be set to a unique integer for each broker.
broker.id={{ kafka_id }}

message.max.bytes=104857600
replica.fetch.max.bytes=104857600
############################# Socket Server Settings #################
listeners=PLAINTEXT://{{ ansible_host }}:{{ kafka_port }}
advertised.listeners=PLAINTEXT://{{ ansible_host }}:{{ kafka_port }}

# 处理网络请求的最大线程数
num.network.threads=5

# 处理磁盘I/O的线程数
num.io.threads=10

# socket的发送缓冲区
socket.send.buffer.bytes=102400

# socket的接收缓冲区
socket.receive.buffer.bytes=102400

# socket请求的最大字节数。为了防止内存溢出，message.max.bytes必然要小于
socket.request.max.bytes=104857600

############################# Log Basics #############################

# 日志存放目录，多个目录使用逗号分割
log.dirs={{ kafka_datadir }}

auto.create.topics.enable=true
# 默认partition数量
num.partitions={{ kafka_num_partitions }}

#启动时,用于日志恢复的线程个数
num.recovery.threads.per.data.dir=1

############################# Internal Topic Settings  #############################
# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state"
# For anything other than development testing, a value greater than 1 is recommended for to ensure availability such as 3.
#副本数量
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

############################# Log Flush Policy #############################

# 当达到下面的消息数量时，会将数据flush到日志文件中。默认10000
log.flush.interval.messages=10000

# 当达到下面的时间(1000ms =1s)时，执行一次强制的flush操作。interval.ms和interval.messages无论哪个达到，都会flush。默认3000ms
#log.flush.interval.ms=1000

############################# Log Retention Policy #############################

# 日志清理策略（delete|compact）
log.cleanup.policy = delete

# 日志保存时间 (hours|minutes)，默认为7天(168小时).超过这个时间会根据policy处理数据.
log.retention.hours={{ kafka_log_retention_hours }}
#log.retention.bytes=1073741824

# 控制日志segment文件的大小，超出该大小则追加到一个新的日志segment文件中（-1表示没有限制）
log.segment.bytes=1073741824

# 日志片段文件的检查周期，查看它们是否达到了删除策略的设置（log.retention.hours或log.retention.bytes）
log.retention.check.interval.ms=300000

############################# Zookeeper #############################

zookeeper.connect={{ kafka_zk_connect }}

# zookeeper等待连接时间
zookeeper.connection.timeout.ms=60000

############################# Group Coordinator Settings ############
# 空消费组延时时间
group.initial.rebalance.delay.ms=3

#100M
message.max.bytes=104857600
replica.fetch.max.bytes=104857600
